package com.tjsinfo.tjsoa.addresslist.dao;

import java.util.List;

import com.tjsinfo.tjsoa.addresslist.vo.AddressListUser;

public interface IAddressListUserDAO {

	// property constants
	public static final String USER_SORT = "userSort";
	public static final String USER_ID = "userId";
	public static final String USER_NAME = "userName";
	public static final String MOBILE = "mobile";
	public static final String EMAIL = "email";
	public static final String COMPANY = "company";
	public static final String SECTOR = "sector";
	public static final String DUTY = "duty";
	public static final String COMPANY_PHONE = "companyPhone";
	public static final String COMPANY_FAX = "companyFax";
	public static final String COMPANY_ADDRESS = "companyAddress";
	public static final String COMPANY_POSTAL = "companyPostal";
	public static final String HOME_ADDRESS = "homeAddress";
	public static final String HOME_POSTAL = "homePostal";
	public static final String HOME_PHONE = "homePhone";
	public static final String QQ = "qq";
	public static final String MSN = "msn";
	public static final String BLOG = "blog";
	public static final String REMARKS = "remarks";
	public static final String STATE = "state";

	public abstract String save(AddressListUser transientInstance);
	
	public abstract void update(AddressListUser transientInstance);

	public abstract void delete(AddressListUser persistentInstance);

	public abstract AddressListUser findById(java.lang.String id);

	public abstract List findByExample(AddressListUser instance);

	public abstract List findByProperty(String propertyName, Object value);

	public abstract List findByUserSort(Object userSort);

	public abstract List findByUserId(Object userId);

	public abstract List findByUserName(Object userName);

	public abstract List findByMobile(Object mobile);

	public abstract List findByEmail(Object email);

	public abstract List findByCompany(Object company);

	public abstract List findBySector(Object sector);

	public abstract List findByDuty(Object duty);

	public abstract List findByCompanyPhone(Object companyPhone);

	public abstract List findByCompanyFax(Object companyFax);

	public abstract List findByCompanyAddress(Object companyAddress);

	public abstract List findByCompanyPostal(Object companyPostal);

	public abstract List findByHomeAddress(Object homeAddress);

	public abstract List findByHomePostal(Object homePostal);

	public abstract List findByHomePhone(Object homePhone);

	public abstract List findByQq(Object qq);

	public abstract List findByMsn(Object msn);

	public abstract List findByBlog(Object blog);

	public abstract List findByRemarks(Object remarks);

	public abstract List findByState(Object state);

	public abstract List findAll();

	public abstract AddressListUser merge(AddressListUser detachedInstance);

	public abstract void attachDirty(AddressListUser instance);

	public abstract void attachClean(AddressListUser instance);
}